Presto হল একটি ডিস্ট্রিবিউটেড SQL কোয়েরি ইঞ্জিন যা ডেটা বিশ্লেষণ এবং প্রসেসিং করার জন্য ব্যবহৃত হয়। Presto একটি REST API প্রদান করে যা আপনাকে কোয়েরি এক্সিকিউশন, কোয়েরি মেটাডেটা, এবং ক্লাস্টার পারফরম্যান্স ট্র্যাকিং করতে সক্ষম করে। Presto REST API এর মাধ্যমে আপনি কোয়েরি চালাতে, ফলাফল সংগ্রহ করতে এবং কোয়েরি ব্যবস্থাপনা করতে পারেন।
এখানে, আমরা Presto REST API ব্যবহার করার পদ্ধতি এবং উদাহরণ আলোচনা করব।
Presto REST API মূলত দুটি প্রধান কাজের জন্য ব্যবহৃত হয়:
Presto REST API মূলত HTTP
প্রোটোকল ব্যবহার করে কোয়েরি রিকোয়েস্ট গ্রহণ করে এবং JSON ফরম্যাটে ফলাফল প্রদান করে।
POST
এবং GET
রিকোয়েস্ট করা হয়। কোয়েরি এক্সিকিউশনের জন্য POST
ব্যবহার করা হয়, এবং কোয়েরি স্টেটাস বা ফলাফল পেতে GET
ব্যবহার করা হয়।Presto REST API-তে কোয়েরি চালানোর জন্য, প্রথমে /v1/statement
এ একটি POST
রিকোয়েস্ট পাঠাতে হয়।
Request:
POST http://<presto-server>:8080/v1/statement
Headers:
Content-Type: application/json
Request Body:
{
"query": "SELECT * FROM hive.default.orders LIMIT 10"
}
এই রিকোয়েস্টে, Presto সার্ভার hive.default.orders
টেবিল থেকে 10টি রেকর্ড নির্বাচন করবে।
Response:
{
"id": "d093dd6d-30a9-4f96-a28f-bf9a111f6a79",
"state": "QUEUED"
}
QUEUED
, RUNNING
, বা FINISHED
।কোয়েরি চালানোর পর, আপনি তার স্টেটাস ট্র্যাক করতে GET /v1/query/{query_id}
API ব্যবহার করতে পারেন।
Request:
GET http://<presto-server>:8080/v1/query/d093dd6d-30a9-4f96-a28f-bf9a111f6a79
Response:
{
"id": "d093dd6d-30a9-4f96-a28f-bf9a111f6a79",
"state": "FINISHED",
"stats": {
"totalSplits": 12,
"queuedSplits": 0,
"runningSplits": 0,
"completedSplits": 12,
"cpuTimeMillis": 30,
"wallTimeMillis": 1024
}
}
RUNNING
, QUEUED
, বা FINISHED
হতে পারে।কোয়েরি সম্পন্ন হলে, আপনি GET /v1/query/{query_id}/results
API কল করে ফলাফল পেতে পারেন।
Request:
GET http://<presto-server>:8080/v1/query/d093dd6d-30a9-4f96-a28f-bf9a111f6a79/results
Response:
{
"columns": [
{ "name": "order_id", "type": "bigint" },
{ "name": "customer_id", "type": "bigint" },
{ "name": "order_status", "type": "varchar" }
],
"data": [
{ "row": [1001, 2001, "shipped"] },
{ "row": [1002, 2002, "processing"] },
{ "row": [1003, 2003, "shipped"] }
]
}
row
প্রদান করা হয়।যদি Presto REST API এর জন্য authentication প্রয়োজন হয়, তবে Basic Authentication বা Kerberos Authentication ব্যবহার করতে হবে।
Basic Authentication উদাহরণ:
curl -u username:password -X POST http://<presto-server>:8080/v1/statement -d '{"query":"SELECT * FROM hive.default.orders LIMIT 10"}'
এখানে, -u username:password
ব্যবহারকারী নাম এবং পাসওয়ার্ড প্রদান করে।
Presto REST API একটি কার্যকরী এবং নমনীয় পদ্ধতি প্রদান করে Presto সার্ভারের সাথে ইন্টারঅ্যাক্ট করার জন্য। আপনি API ব্যবহার করে কোয়েরি এক্সিকিউট করতে পারেন, ফলাফল পেতে পারেন, এবং কোয়েরি স্টেটাস মনিটর করতে পারেন। REST API কে ব্যবহার করে, আপনি Presto কোয়েরি এক্সিকিউশনকে সহজে স্বয়ংক্রিয় বা তৃতীয় পক্ষের সিস্টেমের সঙ্গে সংযুক্ত করতে পারেন।
Read more